#pragma once

#include "Approach.h"
#include <boost/thread/thread.hpp>

typedef map<double, CTraceApproaches::Ptr>	MapTraceApproaches;

class CApproachHolder: public IApproachHolder
{
	friend class CApproachHolder;
public:
	CApproachHolder(void);
	virtual ~CApproachHolder(void);

	bool AppendDrawInterface(IDrawInterface	*pDrawInterface);

	bool AppendTraceApproaches(CTraceApproaches::Ptr listApprc);
	bool GetApproachesInRange(const CGridParam &ranges, ListApproachPtr &ListOut);
protected:
	boost::mutex		m_mtxMap;
	MapTraceApproaches	m_mapTraceApproaches;

	IDrawInterface		*m_pDrawInterface;
	tm					m_startTime;
};
